package modelo;
import bean.Conexion;

import java.awt.Image;
import java.io.File;
import java.lang.reflect.Array;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class MovimientoDAO  extends ConexionDao{
	
	private static final ArrayList<Venta> Cliente = null;


	public MovimientoDAO() {
		super();	
	
	}	
	

	/* String tipo_movim, String descripcion_movim,
			String status_movim, Date fecha_movim, Double monto_movim,
			Caja idcaja_movim */

	public void registrarMovimiento(Movimiento movimiento) {
		String tiraSQL = "INSERT INTO movimiento "+
		 				 "(tipo_movim, descripcion_movim, status_movim, fecha_movim, monto_movi, idcaja_movim) "+
		 				 "VALUES ('"+ movimiento.getTipo_movim()+"', '"+movimiento.getDescripcion_movim()+
		 				 "','"+ movimiento.getStatus_movim() +"','" +movimiento.getFecha_movim()+
		 				 "',"+ movimiento.getMonto_movim() +",'"+ movimiento.getIdcaja_movim() + "')";
		
		Conexion.ejecutar(tiraSQL);
	}
	
	
	public ArrayList<Movimiento> consultarMovimientos() {
		ArrayList<Movimiento> movimientos = new ArrayList<Movimiento>();
		String tiraSQL = "SELECT * FROM movimiento";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				String tipo = resultSet.getString("tipo_movim");
				String desc = resultSet.getString("descripcion_movim");
				String status = resultSet.getString("status_movim");
				Date fecha = resultSet.getDate("fecha_movim");
				Double monto = resultSet.getDouble("monto_movi");
				String idcaja = resultSet.getString("idcaja_movim");
				
				Movimiento movimiento = new Movimiento(tipo, desc, status, fecha, monto, idcaja);
				movimientos.add(movimiento);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return movimientos;
	}
	
	public ArrayList<Movimiento> consultarMovimientoPorFecha(Date fecha) {
		
		ArrayList<Movimiento> movimientos = null;
		
		String tiraSQL = "SELECT * FROM movimiento where fecha_movim ='"+ fecha + "'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);	
		
		try {
			while (resultSet.next()) {
				
				String tipo = resultSet.getString("tipo_movim");
				String desc = resultSet.getString("descripcion_movim");
				String status = resultSet.getString("status_movim");
				Date fec = resultSet.getDate("fecha_movim");
				Double monto = resultSet.getDouble("monto_movi");
				String idcaja = resultSet.getString("idcaja_movim");
				
				Movimiento movimiento = new Movimiento(tipo, desc, status, fec, monto, idcaja);
				movimientos.add(movimiento);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return movimientos;			
	}

	
	/*
	// Eliminacion Fisica
		public void eliminarFisicaMovimiento(String id) {
			String tiraSQL =  "DELETE FROM movimiento WHERE id_clien = '"+ id + "'";
									
			Conexion.ejecutar(tiraSQL);
		}

	

		// Eliminacion Logica
		public void eliminarLogicaCliente(Cliente cliente) {
			//Estatus cuando se elimina es "inactivo"?
			
			String tiraSQL = "UPDATE cliente SET id_clien = '" + cliente.getId_clien() + "', nombre_clien = '"+ cliente.getNombre_clien()+		 
					"', telefono_clien = '" + cliente.getTelefono_clien() + "', correo_clien = '" + cliente.getCorreo_clien() +
					"', status_clien = '" + cliente.getStatus_clien() + " WHERE id_prove ='" + cliente.getId_clien() + "'";
					
			Conexion.ejecutar(tiraSQL);
		}
*/
		
		
		
}
